﻿namespace MicroMVVM.Services.Interfaces
{
    public interface IToastMessageService
    {
        /// <summary>
        /// Shows the toast message with template type ToastText01.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="message">Toast message hello</param>
        void ShowToastText01(string message);

        /// <summary>
        /// Shows the toast message with template type ToastText02.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="headline">Toast headline</param>
        /// <param name="message">Toast message</param>
        void ShowToastText02(string headline, string message);

        /// <summary>
        /// Shows the toast message with template type ToastText03.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="headline">Toast headline</param>
        /// <param name="message">Toast message</param>
        void ShowToastText03(string headline, string message);

        /// <summary>
        /// Shows the toast message with template type ToastText04.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="headline">Toast headline</param>
        /// <param name="message1">Toast first message</param>
        /// <param name="message2">Toast second message</param>
        void ShowToastText04(string headline, string message1, string message2);

        /// <summary>
        /// Shows the toast message with template type ToastImageAndText01.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="imageSource">Toast image source</param>
        /// <param name="message">Toast message</param>
        /// <param name="alt">Toast image alternate text</param>
        void ShowToastImageAndText01(string imageSource, string message, string alt = "");

        /// <summary>
        /// Shows the toast message with template type ToastImageAndText02.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="imageSource">Toast image source</param>
        /// <param name="headline">Toast headline</param>
        /// <param name="message">Toast message</param>
        /// <param name="alt">Toast image alternate text</param>
        void ShowToastImageAndText02(string imageSource, string headline, string message, string alt = "");

        /// <summary>
        /// Shows the toast message with template type ToastImageAndText03.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="imageSource">Toast image source</param>
        /// <param name="headline">Toast headline</param>
        /// <param name="message">Toast message</param>
        /// <param name="alt">Toast image alternate text</param>
        void ShowToastImageAndText03(string imageSource, string headline, string message, string alt = "");

        /// <summary>
        /// Shows the toast message with template type ToastImageAndText04.
        /// http://msdn.microsoft.com/en-gb/library/windows/apps/hh761494.aspx"
        /// </summary>
        /// <param name="imageSource">Toast image source</param>
        /// <param name="headline">Toast headline</param>
        /// <param name="message1">Toast first message</param>
        /// <param name="message2">Toast second message</param>
        /// <param name="alt">Toast image alternate text</param>
        void ShowToastImageAndText04(string imageSource, string headline, string message1, string message2, string alt = "");
    }
}